---
id: 6553efd6ada3f42aa2d75448
title: Крок 53
challengeType: 20
dashedName: step-53
---

# --description--

Тепер ви знову повинні побачити результат. Хоча цей підхід працює, він незначно підвищує можливість повторного використання коду. Повторний виклик функції призведе до того самого результату. Однак функції можна оголошувати з *параметрами*, щоб забезпечити універсальність та налаштування:

```py
def function_name(param_1, param_2):
    <code>
```

Параметри — це змінні, які можна використовувати у функції. Функцію можна оголосити з різною кількістю параметрів. Параметрами у прикладі вище є `param_1` та `param_2`.

Змініть оголошення функції, щоб вона приймала два параметри під назвою `message` та `offset`.

# --hints--

Функція `caesar` має приймати `message` та `offset` як параметри. Не забудьте розділити параметри комами.

```js
assert.match(code, /^def\s+caesar\s*\(\s*message\s*,\s*offset\s*\)\s*:/m)
```

# --seed--

## --seed-contents--

```py
text = 'Hello Zaira'
shift = 3
--fcc-editable-region--
def caesar():
--fcc-editable-region--
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    encrypted_text = ''

    for char in text.lower():
        if char == ' ':
            encrypted_text += char
        else:
            index = alphabet.find(char)
            new_index = (index + shift) % len(alphabet)
            encrypted_text += alphabet[new_index]
    print('plain text:', text)
    print('encrypted text:', encrypted_text)

caesar()
```
